PHP - Les Boucles

Header :

Les boucles en PHP sont des structures de contrôle qui permettent d'exécuter un bloc de code de manière répétée, en fonction d'une condition. Elles sont essentielles pour automatiser des tâches répétitives. Dans ce chapitre, nous explorerons les types de boucles les plus couramment utilisés en PHP.


Body

La Boucle "while"

La boucle `while` permet d'exécuter un bloc de code tant qu'une condition spécifiée est vraie.

<?php
$compteur = 1;

while ($compteur <= 5) {
    echo "Tour $compteur\n";
    $compteur++;
}
?>

Dans cet exemple, le bloc de code à l'intérieur de la boucle while sera exécuté tant que la condition $compteur <= 5 est vraie.

La Boucle "do... while"

La boucle do... while est similaire à while, mais elle garantit que le bloc de code est exécuté au moins une fois, même si la condition est initialement fausse.

<?php
$compteur = 1;

do {
    echo "Tour $compteur\n";
    $compteur++;
} while ($compteur <= 5);
?>

La Boucle "for"

La boucle `for` est utilisée lorsque le nombre d'itérations est connu à l'avance.

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "Tour $i\n";
}
?>

La structure de la boucle for inclut une initialisation ($i = 1), une condition ($i <= 5), et une expression d'itération ($i++).

L'instruction "break"

L'instruction break permet de sortir prématurément d'une boucle, basée sur une condition.

<?php
$compteur = 1;

while (true) {
    echo "Tour $compteur\n";
    $compteur++;

    if ($compteur > 5) {
        break;
    }
}
?>

Dans cet exemple, la boucle while est infinie, mais la condition if avec break permet de sortir de la boucle lorsque le compteur dépasse 5.

L'instruction "continue"

L'instruction continue permet de passer à l'itération suivante d'une boucle.

<?php
for ($i = 1; $i <= 5; $i++) {
    if ($i == 3) {
        continue;
    }

    echo "Tour $i\n";
}
?>

Dans cet exemple, la boucle for continuera à l'itération suivante sans exécuter le reste du bloc de code si la condition $i == 3 est vraie.

Conclusion

Les boucles en PHP sont des outils puissants pour répéter des actions en fonction de conditions. Elles offrent la flexibilité nécessaire pour automatiser des tâches et traiter des ensembles de données.

Résumé

  • Boucle "while":

    • Pourquoi l'utiliser : Utilisez la boucle while lorsque le nombre d'itérations n'est pas connu à l'avance, mais que vous souhaitez répéter un bloc de code tant qu'une condition reste vraie.
    • Quand l'utiliser : Lorsque vous ne connaissez pas à l'avance combien de fois vous devez répéter une action, mais vous avez une condition spécifique à vérifier.
  • Boucle "do... while":

    • Pourquoi l'utiliser : Utilisez la boucle do... while lorsque vous souhaitez vous assurer qu'un bloc de code est exécuté au moins une fois, même si la condition est initialement fausse.
    • Quand l'utiliser : Lorsque vous avez besoin d'exécuter un bloc de code au moins une fois, puis le répéter tant qu'une condition reste vraie.
  • Boucle "for":

    • Pourquoi l'utiliser : Utilisez la boucle for lorsque le nombre d'itérations est connu à l'avance, et vous avez besoin d'une structure concise pour initialiser, vérifier une condition et effectuer une expression d'itération.
    • Quand l'utiliser : Lorsque vous savez exactement combien de fois vous devez répéter un bloc de code et souhaitez maintenir une structure claire.
  • Instructions "break" et "continue":

    • Pourquoi les utiliser : Utilisez l'instruction break pour sortir prématurément d'une boucle en fonction d'une condition. Utilisez l'instruction continue pour passer à l'itération suivante sans exécuter le reste du bloc de code.
    • Quand les utiliser : Lorsque vous avez besoin de quitter une boucle avant qu'elle ne se termine naturellement (break) ou de passer à l'itération suivante sans exécuter le reste du code dans une itération particulière (continue).

Exercices

Exercices sur la boucle "while":

  1. Calcul de la Somme:

    • Écrivez un script PHP qui utilise une boucle while pour demander à l'utilisateur de saisir des nombres (positifs ou nuls). La saisie s'arrête lorsque l'utilisateur entre un nombre négatif. Le script doit ensuite afficher la somme des nombres saisis.
  2. Compte à Rebours:

    • Écrivez un script PHP qui utilise une boucle while pour afficher un compte à rebours à partir de 10 jusqu'à 1, puis affichez "Lancement!".

Exercices sur la boucle "do... while":

  1. Devinez le Nombre:

    • Écrivez un script PHP qui génère un nombre aléatoire entre 1 et 100. Demandez à l'utilisateur de deviner le nombre. Utilisez une boucle do... while pour continuer à demander la saisie jusqu'à ce que l'utilisateur trouve le nombre. Affichez le nombre total de tentatives.
  2. Menu de Sélection:

    • Écrivez un script PHP qui utilise une boucle do... while pour afficher un menu de sélection avec des options numérotées (par exemple, 1. Afficher, 2. Ajouter, 3. Quitter). Demandez à l'utilisateur de sélectionner une option. La boucle doit continuer tant que l'utilisateur ne choisit pas l'option "Quitter".

Exercices sur la boucle "for":

  1. Table de Multiplication:

    • Écrivez un script PHP qui utilise une boucle for pour afficher la table de multiplication d'un nombre saisi par l'utilisateur.
  2. Calcul de la Factorielle:

    • Écrivez un script PHP qui utilise une boucle for pour calculer la factorielle d'un nombre saisi par l'utilisateur. La factorielle d'un nombre n est le produit de tous les entiers de 1 à n.

Exercices sur l'instruction "break":

  1. Limite de Tentatives:

    • Écrivez un script PHP qui utilise une boucle while pour demander à l'utilisateur de saisir un mot de passe. Si l'utilisateur échoue après trois tentatives, le script affiche un message d'erreur et utilise l'instruction break pour sortir de la boucle.
  2. Calcul de la Moyenne:

  • Écrivez un script PHP qui utilise une boucle while pour demander à l'utilisateur de saisir des notes (valeurs entre 0 et 20). La saisie s'arrête lorsque l'utilisateur entre une note négative. Le script doit ensuite calculer la moyenne des notes saisies et l'afficher. Utilisez l'instruction break pour sortir de la boucle lorsque la note négative est détectée.

Exercices sur l'instruction "continue":

  1. Nombres Pairs:

    • Écrivez un script PHP qui utilise une boucle for pour afficher tous les nombres de 1 à 20, sauf les nombres pairs, en utilisant l'instruction continue.
  2. Liste de Courses:

  • Écrivez un script PHP qui utilise une boucle while pour demander à l'utilisateur de saisir des notes de cours sur 20, si l'utilisateur tape "stop" il s'arrête. Si l'utilisateur entre un nombre inférieur à 0 ou supérieur à 20, le programme dit qu'il y a un problème de valeur et continue. Utilisez l'instruction continue pour ignorer ces éléments et demander le suivant. A la fin, affichez le total des notes.

Exercice combiné en groupe :

Jeu de Devinettes Multiples :

  1. Création du menu
    1. Créez un menu de jeu avec 3 possibilité : Jouer, Options, Quitter.
    2. Si le joueur entre autre chose que 1, 2 ou 3, ça affiche une erreur et ça redemande une entrée.
  2. Menu Quitter
    1. Lorsque la personne entre 3, cela quitte le jeu
  3. Menu Jouer
    1. Lorsque l'on entre 1, le jeu commence
    2. Générez un nombre aléatoire entre 1 et 100 que le joueur doit deviner.
    3. Initialisez un compteur de tentatives à zéro.
    4. Utilisez une boucle do... while pour permettre au joueur de deviner le nombre.
      • À chaque itération, demandez au joueur de saisir un nombre.
      • Incrémentez le compteur de tentatives.
      • Vérifiez si le nombre saisi est égal au nombre généré aléatoirement.
        • Si c'est le cas, affichez "Félicitations, vous avez deviné le nombre en X tentatives", où X est le compteur de tentatives, puis utilisez l'instruction break pour sortir de la boucle.
        • Sinon, affichez un message indiquant si le nombre saisi est trop grand ou trop petit.
      • Lorsque la partie est termine, on est renvoyé au menu du jeu
      • A tout moment dans la partie, si l'on tappe la lettre q, on retourne au menu principal
  4. Menu Option
    1. Lorsque l'on entre 2, on va dans les options
    2. On nous propose de changer la borne inférieur ou la borne supérieur ou les deux bornes du chiffre du jeu à générer ou enfin, de retourner au menu principal.
    3. lorsque l'on choisi une de ces options, on nous demande d'entrer un nombre qui sera affectée à la borne choisie
    4. Veillez bien à ce que la borne inférieure ne puisse pas être supérieure à la borne supérieure, donnez un message d'erreur dans ce cas !
    5. si je rentre la lettre q, je retourne au menu principal

Pour cet exercice, veillez bien à ce que a aucun moment on ne sorte du programme sans l'avoir voulu à travers le menu principal. Ni par plantage, ni pas entrée d'une mauvaise donnée.